﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace OrmAuto
{
		public class Querier:ABaseEF
		{

				public Querier()
				{

				}

				public Colori[] getColori()
				{
						using (var DAL = getDAL())
						{
								return DAL.Colori.ToArray();
						}
				}//fM
				
				public Possessi[] getPossessi()
				{
						using (var DAL = getDAL())
						{
								return DAL.Possessi.ToArray();
						}	
				}//fM 
				
				public MarcheAuto[] getMarche()
				{
						using (var DAL = getDAL())
						{
								return DAL.MarcheAuto.OrderBy(m=>m.Marca).ToArray();
						}	
				} //fM

				public ModelliAuto[] getModelli(int pIDMarca)
				{
						using (var DAL = getDAL())
						{
								return DAL.ModelliAuto.Where(mo=> mo.MarcheAuto.ID == pIDMarca).OrderBy(m => m.Modello).ToArray();
						}
				} //fM

				public ModelliAuto[] getModelli(string  pMarca)
				{
						using (var DAL = getDAL())
						{
								return DAL.ModelliAuto.Where(mo => mo.MarcheAuto.Marca == pMarca).OrderBy(m => m.Modello).ToArray();
						}
				} //fM

				public ModelliAuto[] getModelliByID(int pIdMarca)
				{
						using (var DAL = getDAL())
						{
								return DAL.ModelliAuto.Where(mo => mo.MarcheAuto.ID == pIdMarca).OrderBy(m => m.Modello).ToArray();
						}
				} //fM
				
				public ANNVendita[] getAnnVendita(int pID)
				{
						using (var DAL = getDAL())
						{
								return DAL.ANNVendita.Where(av=> av.ID == pID).ToArray(); 	
						}						
				}//fM 

				public ANNVendita[] getAnnVenditaCompleto(int pID)
				{
						using (var DAL = getDAL())
						{
								return DAL.ANNVendita.Include("Carburanti").Include("PotenzeKW").Where(av => av.ID == pID).ToArray();
						}
				}//fM 
				
		
		}//fC
}
